﻿

namespace Journeo_backend.Services.Interfaces
{
    public interface IUserService
    {
        // 获取用户信息
        Task<Response<UserInfoVO>> GetUserAsync(long userId);

        // 用户注册
        Task<Response<string>> RegisterAsync(UserRegisterDTO registerVO);

        // 用户登录
        Task<Response<UserLoginVO>> LoginAsync(UserLoginDTO loginVO);

        // 忘记密码
        Task<Response<string>> ForgetPasswordAsync(UserForgetPasswordDTO forgetPasswordDTO);

        // 用户更新
        Task<Response<string>> UpdateUserAsync(UserUpdateDTO updateVO);

        // 用户头像上传base64
        Task<Response<string>> UploadAvatarAsync(long userId, string base64Image);

        // 用户头像上传file
        Task<Response<string>> UploadAvatarAsync(long userId, IFormFile file);

        // 用户头像下载
        Task<Response<string>> GetAvatarAsync(long userId);

        // 发送验证码
        Task<Response<string>> SendVerificationCodeAsync(string email, VerificationType type);

        // 验证验证码
        Task<bool> VerifyCodeAsync(string email, string code, VerificationType type);
    }
}
